<!-- Copyright (c) 2019 Legytma Soluções Inteligentes (https://legytma.com.br). -->
<!-- -->
<!--  Licensed under the Apache License, Version 2.0 (the "License"); -->
<!--  you may not use this file except in compliance with the License. -->
<!--  You may obtain a copy of the License at -->
<!-- -->
<!--       http://www.apache.org/licenses/LICENSE-2.0 -->
<!-- -->
<!-- Unless required by applicable law or agreed to in writing, software -->
<!-- distributed under the License is distributed on an "AS IS" BASIS, -->
<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
<!-- See the License for the specific language governing permissions and -->
<!-- limitations under the License. -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
    <meta name="description"
          content="API docs for the build method from the SchemaForm class, for the Dart programming language.">
    <title>build method - SchemaForm class - schema_form library - Dart API</title>
    <!-- required because all the links are pseudo-absolute -->
    <base href="../..">

    <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <link rel="stylesheet" href="static-assets/github.css">
    <link rel="stylesheet" href="static-assets/styles.css">
    <link rel="icon" href="static-assets/favicon.png">

</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
    <button id="sidenav-left-toggle" type="button">&nbsp;</button>
    <ol class="breadcrumbs gt-separated dark hidden-xs">
        <li><a href="index.html">schema_form</a></li>
        <li><a href="schema_form/schema_form-library.html">schema_form</a></li>
        <li><a href="schema_form/SchemaForm-class.html">SchemaForm</a></li>
        <li class="self-crumb">build method</li>
    </ol>
    <div class="self-name">build</div>
    <form class="search navbar-right" role="search">
        <input type="text" id="search-box" autocomplete="off" disabled
               class="form-control typeahead" placeholder="Loading search...">
    </form>
</header>

<main>

    <div id="dartdoc-sidebar-left"
         class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
        <header id="header-search-sidebar" class="hidden-l">
            <form class="search-sidebar" role="search">
                <input type="text" id="search-sidebar" autocomplete="off" disabled
                       class="form-control typeahead" placeholder="Loading search...">
            </form>
        </header>

        <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
            <li><a href="index.html">schema_form</a></li>
            <li><a href="schema_form/schema_form-library.html">schema_form</a></li>
            <li><a href="schema_form/SchemaForm-class.html">SchemaForm</a></li>
            <li class="self-crumb">build method</li>
        </ol>

        <h5>SchemaForm class</h5>
        <ol>
            <li class="section-title"><a href="schema_form/SchemaForm-class.html#constructors">Constructors</a>
            </li>
            <li><a href="schema_form/SchemaForm/SchemaForm.html">SchemaForm</a></li>

            <li class="section-title">
                <a href="schema_form/SchemaForm-class.html#instance-properties">Properties</a>
            </li>
            <li><a href="schema_form/SchemaForm/jsonSchemaBloc.html">jsonSchemaBloc</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/hashCode.html">hashCode</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/key.html">key</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/runtimeType.html">runtimeType</a>
            </li>

            <li class="section-title"><a href="schema_form/SchemaForm-class.html#instance-methods">Methods</a>
            </li>
            <li><a href="schema_form/SchemaForm/build.html">build</a></li>
            <li class="inherited"><a
                    href="schema_form/SchemaForm/createElement.html">createElement</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/debugDescribeChildren.html">debugDescribeChildren</a>
            </li>
            <li class="inherited"><a href="schema_form/SchemaForm/debugFillProperties.html">debugFillProperties</a>
            </li>
            <li class="inherited"><a
                    href="schema_form/SchemaForm/noSuchMethod.html">noSuchMethod</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/toDiagnosticsNode.html">toDiagnosticsNode</a>
            </li>
            <li class="inherited"><a href="schema_form/SchemaForm/toString.html">toString</a></li>
            <li class="inherited"><a
                    href="schema_form/SchemaForm/toStringDeep.html">toStringDeep</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/toStringShallow.html">toStringShallow</a>
            </li>
            <li class="inherited"><a
                    href="schema_form/SchemaForm/toStringShort.html">toStringShort</a></li>

            <li class="section-title inherited"><a
                    href="schema_form/SchemaForm-class.html#operators">Operators</a></li>
            <li class="inherited"><a href="schema_form/SchemaForm/operator_equals.html">operator
                ==</a></li>


        </ol>
    </div><!--/.sidebar-offcanvas-->

    <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
        <div><h1><span class="kind-method">build</span> method</h1></div>

        <section class="multi-line-signature">
            <div>
                <ol class="annotation-list">
                    <li>@override</li>
                </ol>
            </div>
            <span class="returntype">Widget</span>
            <span class="name ">build</span>
            (
            <wbr>
            <span class="parameter" id="build-param-context"><span class="type-annotation">BuildContext</span> <span
                    class="parameter-name">context</span></span>)

        </section>
        <section class="desc markdown">
            <p>Describes the part of the user interface represented by this widget.</p>
            <p>The framework calls this method when this widget is inserted into the
                tree in a given <code>BuildContext</code> and when the dependencies of this widget
                change (e.g., an <code>InheritedWidget</code> referenced by this widget changes).
            </p>
            <p>The framework replaces the subtree below this widget with the widget
                returned by this method, either by updating the existing subtree or by
                removing the subtree and inflating a new subtree, depending on whether the
                widget returned by this method can update the root of the existing
                subtree, as determined by calling <code>Widget.canUpdate</code>.</p>
            <p>Typically implementations return a newly created constellation of widgets
                that are configured with information from this widget's constructor and
                from the given <code>BuildContext</code>.</p>
            <p>The given <code>BuildContext</code> contains information about the location in the
                tree at which this widget is being built. For example, the context
                provides the set of inherited widgets for this location in the tree. A
                given widget might be built with multiple different <code>BuildContext</code>
                arguments over time if the widget is moved around the tree or if the
                widget is inserted into the tree in multiple places at once.</p>
            <p>The implementation of this method must only depend on:</p>
            <ul>
                <li>the fields of the widget, which themselves must not change over time,
                    and
                </li>
                <li>any ambient state obtained from the <code>context</code> using
                    <code>BuildContext.inheritFromWidgetOfExactType</code>.
                </li>
            </ul>
            <p>If a widget's <a href="schema_form/SchemaForm/build.html">build</a> method is to
                depend on anything else, use a
                <code>StatefulWidget</code> instead.</p>
            <p>See also:</p>
            <ul>
                <li><code>StatelessWidget</code>, which contains the discussion on performance
                    considerations.
                </li>
            </ul>
        </section>

        <section class="summary source-code" id="source">
            <h2><span>Implementation</span></h2>
            <pre class="language-dart"><code class="language-dart">@override
Widget build(BuildContext context) {
  &#47;&#47; TODO Internalize recovery through the context of [JsonSchemaBloc]
  return BlocProvider&lt;JsonSchemaBloc&gt;(
    create: (BuildContext buildContext) =&gt; jsonSchemaBloc,
    child: BlocBuilder&lt;JsonSchemaBloc, JsonSchemaState&gt;(
      bloc: jsonSchemaBloc,
      condition: (previousState, state) {
&#47;&#47;              print(&quot;state.layout: ${state.layout}&quot;);

        return previousState.layout != state.layout;
      },
      builder: (context, state) {
&#47;&#47;              print(&quot;layout: $layout&quot;);

        if (state.layout == null) {
          return Container(
            child: Center(
              child: CircularProgressIndicator(),
            ),
          );
        } else {
          return SingleChildScrollView(
            child: DynamicWidgetBuilder.buildFromMap(
              state.layout,
              context,
              jsonSchemaBloc,
            ),
          );
        }
      },
    ),
  );
}</code></pre>
        </section>

    </div> <!-- /.main-content -->

    <div id="dartdoc-sidebar-right"
         class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
    </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    schema_form 1.0.0
  </span>


</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
